//using com.youzu.warh.protocol;
//using CustomDataStruct;
//using ProtoBuf.Serializers;
//
//namespace battle
//{
//    public class ElementResultDecorator: ICustomProtoSerializer
//    {
//        public void SetValue(object target, object value, int fieldNumber)
//        {
//            ElementResult data = target as ElementResult;
//            if (data == null)
//            {
//                return;
//            }
//
//            switch (fieldNumber)
//            {
//                case 1:
//                    data.amount = ValueObject.Value<int>(value);
//                    break;
//                case 2:
//                    data.source = (MapUnit) value;
//                    break;
//                case 3:
//                    data.castPlayerId = ValueObject.Value<long>(value);
//                    break;
//                case 4:
//                    data.trigger =(MapUnit) value;
//                    break;
//            }
//        }
//
//        public object GetValue(object target, int fieldNumber)
//        {
//            ElementResult data = target as ElementResult;
//            if (data == null)
//            {
//                return null;
//            }
//
//            switch (fieldNumber)
//            {
//                case 1:
//                    return ValueObject.Get(data.amount);
//                case 2:
//                    return data.source;
//                case 3:
//                    return ValueObject.Get(data.castPlayerId);
//                case 4:
//                    return data.trigger;
//            }
//            return null;
//        }
//    }
//}